This invention relates to a motion picture encoding device to which an adaptive prediction encoding scheme is applied.
A motion picture signal represents successive motion pictures with an enormous amount of information and is encoded into an encoded picture signal with the enormous amount of information compressed to a great extent by utilizing high time and space correlations which the motion picture signal has. In accordance with an interframe prediction encoding scheme, the time correlation is used to produce a prediction error signal by predicting the motion picture of a current frame from the motion picture which is represented by an immediately preceding frame and is already subjected to the interframe encoding. Motion compensation interframe prediction encoding is an improvement in the interframe prediction encoding. In interfield prediction encoding, two successive fields of the motion picture signal are used in place of the current and the preceding frames used in the interframe encoding. In intraframe or intrafield encoding, each frame or field is processed with no prediction used along a time axis. In accordance with the adaptive prediction encoding, the above-exemplified encoding schemes are adaptively switched from one to another.
It is possible with the adaptive prediction encoding to attain a high encoding efficiency. When either the intraframe or the intrafield encoding is included in the encoding schemes switched to carry out the adaptive prediction encoding, the adaptive prediction encoding is very useful because it is possible to apply to this scheme a refresh technique which will presently be described.
Besides the refresh technique, other techniques are also useful in the adaptive prediction encoding. A code transform technique is for subjecting a plurality of signals to linear transform for encoding these signals. When used in the adaptive prediction encoding, the code transform technique is applied to the prediction error signal in compressing its space (horizontal and vertical) redundancies to a remarkable extent. A variable length encoding technique is for compressing an amount of information in a well-known manner for transmission or storage. A code amount control technique is for controlling an amount of actually produced codes and a quantization step with reference to an amount of output codes in the manner which will shortly be described.
The refresh technique is for dealing with transmission error recovery and/or with start of decoding at an indefinite time instant and is used in general as a frame refresh technique of applying the intraframe encoding to an entire frame. It may be mentioned here in this connection that each frame of a video signal is divisible into a predetermined number of blocks. The intraframe prediction is restricted in some of the blocks in each frame. It consequently follows that the amount of actually produced codes becomes considerably large in a frame subjected to refresh when compared with the amount of codes actually produced in each of other frames. Such a difference in the amount of actually produced codes is dealt with by a transmission buffer before transmission or storage of the output codes at a predetermined code rate. Use of the buffer, however, means a delay in transmitting or storing the actually produced codes. This is contradictory to transmission or storage with a short delay. In other words, the buffer must have a small buffer capacity in order to achieve the short delay. In consideration of such circumstances, a slice refresh technique has been introduced for application of the refresh technique to a slice which is composed of a preselected number of blocks in each frame and only in which the interframe coding is restricted. Codes are, however, actually produced to a very great extent in a refreshed slice.
The code amount control technique is for controlling the amount of actually produces codes in consideration of the amount of output codes of the buffer. Inasmuch as the buffer holds an amount of reserved codes given by subtracting the amount of output codes from the amount of actually produced codes, it is possible to direct attention to a buffer occupancy amount representative of the amount of reserved codes. On the other hand, the amount of actually produced codes depends on the quantization step which is used in quantizing various coefficients derived by the code transform technique. Consequently, the code amount control technique is based primarily on decision of a quantization parameter Q in consideration of the buffer occupancy amount. The quantization parameter is a variable which directly decides the quantization step. By using a control parameter .alpha. for deciding a speed by which control of the amount of actually produced codes is followed, the quantization parameter is calculated by multiplying the buffer occupancy amount by the control parameter. Such a code amount control technique is conventional and is described, for example, in ISO/IEC/JTC1/SC29/WG11/MPEG92/160. It is believed that this reference merely describes the conventional code amount control technique and is not material to the examination of this patent application although this reference is as thick as 128 pages.
In the manner which will later be described in greater detail, known is a motion picture encoding device which is for encoding a motion picture signal composed of successive frames, each composed of a predetermined number of blocks, and in which a selected scheme is selected from a plurality of various encoding schemes adaptively in correspondence to the blocks of the successive frames. The blocks under consideration will herein be called unclassified blocks.
In accordance with prior art, the motion picture encoding device comprises a calculating unit for calculating a code amount characteristic value representative of a product of a quantization parameter and an amount of codes which are actually produced from each of the unclassified block in an actually produced code amount. An assigning unit assigns an assigned code amount to each of the unclassified blocks based on the code amount characteristic value. A deciding unit decides the quantization parameter based on the assigned code amount and the actually produced code amount. An encoding unit encodes the unclassified blocks of the successive frames based on the quantization parameter.
In such a conventional motion picture encoding device, attention has been directed in the calculating and the assigning units to a fluctuation in the amounts of codes actually produced in one and another of the successive frames. Attention has, however, not been directed to a like fluctuation in the amounts of codes actually produced in one and another of the unclassified blocks in each frame. These fluctuations are not taken into account for the deciding unit to decide the quantization parameter.
In the manner described heretobefore, a transmission buffer is used in practice in the encoding unit to cope with a difference between the amount of actually produced codes and an amount of output codes which represent an output picture and are produced by the encoding unit either for transmission to a transmission medium or storage in a recording medium An occupancy amount of reserved codes remains in the buffer and grows greater with an increase in the amount of the actually produced codes. The quantization parameter depends on the buffer occupancy amount. When the amount of actually produced codes is great in some of the unclassified blocks that may be called particular blocks, the quantization parameter grows accordingly greater. This undesiredly gives rise to an increase in the quantization step at the particular blocks to deteriorate the output picture.
When the buffer is possessed of a small buffer capacity in order to process the motion picture signal with a short delay, the control parameter is given an accordingly great value. This results in a consequently great amount of variation in the quantization parameter. The output picture is more deteriorated to be unpleasant to look at. When the slice refresh technique is resorted to, the amount of actually produced codes varies much. The output picture becomes objectionable before and after use of the slice refresh technique.